Home Page

MFA Microcomputer

Posted By: rfka01

MFA Microcomputer - 02/21/17 10:36 PM

Latest toys arrived today: A slew of modules for the 8085 powered "Microcomputer für Ausbildung" by the vocational training centre "Berufsförderungszentrum Essen".



The trainees often bought kits and built it from scratch, etching, soldering and doing the metalwork.

It's using an ECB style bus connector with a passive packplane in a 19" rack, but I haven't checked yet if the lines match ECB per se.



The modules pictured are just a part of what used to be available, originally all well documented and accompanied by training material.

Hardware could often be mixed and matched depending on the task at hand (trainees learned basic computer operation as well as assembly programming and the operation of industry automation systems).

Just as new modules could be added, the software was modular as well: the most basic monitor program is called MAT85 which fits in 8K of ROM, additional software including a business BASIC, automation simulation and others brought it up to MAT85+ (16K), add an editor and floppy routines you get MAT32K (32K, duh). All simpler stages of the software were still present in the ROM once you got up to MAT32K.
Several modules already had the provisions to make the MFA capable of running CP/M given the proper ROM.



In this screenshot, KMD (Kommando) is the MAT85 prompt, KMD+ stands for MAT85K
Posted By: rfka01

Re: MFA Microcomputer - 02/21/17 10:54 PM

Part of the documentation is available here:

ftp://ftp.informatik.uni-stuttgart.de/pub/cm/mfa8085/MFA.pdf

There was even an emulator of the MFA for the Amiga:

http://ftp.fau.de/aminet/misc/emu/MFA-Simulator.lha

The ROM that is contained is the 16K MAT85K, but it's concatenated from its original 8x2K.

My computer has the MAT32K ROM.

https://mega.nz/#!2Qx32QDZ!g8fVOm0GPR3K0ZPv7sT4FpXWcDjN97_8NsKcx_Fdt0M

The regular video interface (not suitable for CP/M) creates a terminal connected to the SID and SOD pins of the 8085. It takes its input from a parallel ASCII keyboard and outputs video to a regular composite monitor. The chips involved are a AY-5-1013A UART the 2513 character generator known from the Apple I and a EF9364AP graphics chip.

The archive linked above contains a dump of the ROM of the more advanced CP/M capable video interface.

I will post pictures and schematics of the other modules as I get round to scanning/photographing them. So far I've got the ones on the first picture plus parallel input, AD/DA, programmable serial and, for lack of a better word a "poke" module that compliments the one with the LED display - you can use it to inject hex values at certain memory addresses using switches.
Posted By: Lord Nightmare

Re: MFA Microcomputer - 02/22/17 03:36 AM

Which mask of the 2513? There were several made, the original apple1 uses a 'common' one (2513-COM?) but afaik the apple2 versions had a few custom characters?

LN
Posted By: rfka01

Re: MFA Microcomputer - 02/22/17 11:17 AM

Hi LN, the part is marked R03-2513 CGR0001

https://mega.nz/#!DAREjQTY!qT4J8xV6o7YUgqpmyHvqOHomvqcQFvC_V_XOBbNruDs

I'll clean up this scan later, but for now you can find the characters of the 2513 on page 6 of the PDF. My Eprom reader doesn't support the part.

Here are photos of the module:

https://mega.nz/#!nJZ1nCLT!ooOS2CLUj2iDnR-hIdr5KKS1nr7oIkDwx8n80C9jYH0
Posted By: Edstrom

Re: MFA Microcomputer - 02/22/17 04:23 PM

Cool, what kind of bus is it?

I like CNC:s as you know, is there such a rom/software for it?
Posted By: rfka01

Re: MFA Microcomputer - 02/22/17 10:38 PM

Edstrom, if you look at p38 of mfa.pdf in the second post, you'll find the bus pinout.

I don't know yet what software officially existed, but I've seen problems the students were asked to solve - like automated traffic lights and similar.
Posted By: Edstrom

Re: MFA Microcomputer - 02/23/17 10:43 AM

Ahh, interesting pin numbering with address and data bus alternating between row A and C. Either it is a very bare bones bus with only memory R/W and I/O R/W on top of that or there are more signals for interrupts and arbitration, there probably must be.

I have been thinking about a student lab slot device for my didact/esselte driver, where each lab gets a set of additional hardware and a unique layout but there are a few milestones to get there which I also need for the VME drivers:

- sub-layouts which can be rendered in run-time by the board driver from an offset within the main layout. For slot device front panels and other visible add-ons
- animations where you step through a number of bezels. To show motor spins, small robot movements and static graphics.
- setting offset to a sub-layout so it can move within a layout for hot-swap of slot devices, elevator labs, bigger robot movements, etc

However I am not into the layout engine atm so I can't add that myself.

Alternatively this can be done in Lua but there I think we need to set a standard for slot device graphics and how to make them co-exist. I am not on top of such a solution either.
Posted By: Edstrom

Re: MFA Microcomputer - 02/24/17 01:22 AM

Nice! There are some signals that could be daisy chained like the RSTIN and RSTOUT respectivelly. If daisy chained these are not connected directly RSTIN to RSTIN pin but rather RSTOUT to RSTIN so that each card can jumper or delay/block the signal.

This is only an educational bus which is evident from seeing Rx and TX. If these are multi drop there is a challenge emulating those in MAME I think.

Other than that I think the best way is to run some software in MAME in parallel with the system and see how far they are doing the same thing smile
Posted By: rfka01

Re: MFA Microcomputer - 02/25/17 12:31 PM

The description of any self respecting computer system starts with its CPU, doesn't it? Well, in this case the bus indicator and bus signaller modules are somewhat iconic for the MFA system, and the documentation describes several tutorials that don't use the CPU module at all.

[Linked Image]

This pair of modules can be used to teach the interaction between address, data and command signals, debug modules, find out the memory map etc.


MFA Bus signaller 5.1B.zip


MFA Bus indicator 5.2B.zip

The archives contain the relevant chapters of the manual and photos of the modules.
Posted By: rfka01

Re: MFA Microcomputer - 02/25/17 06:28 PM

Next is the 8085 CPU module.

[Linked Image]

It's got a handy reset switch in the front panel and has the solder pads to connect a V24/TTY interface (cf. p.273ff of MFA.pdf posted earlier).

MFA CPU 8085 2.1B

The oscillator next to the CPU is a 4MHz part.
Posted By: rfka01

Re: MFA Microcomputer - 02/25/17 08:53 PM

64K RAM/ROM modules

[Linked Image]

[Linked Image]

The ROM of both cards is identical, MAT32K, so the name of the dump in the archive in this post was changed to reflect the label on the chip. On the "official" card, solder pads allow the configuration for CP/M where the ROM is loaded for bootstrapping the system, then it's swapped out in favour of RAM.

MFA 64K RAM ROM 3.3B
Posted By: rfka01

Re: MFA Microcomputer - 02/25/17 09:25 PM

8bit parallel input and output modules

[Linked Image]
[Linked Image]

MFA Parallel Input 4.2B
MFA Parallel Output 4.1B
Posted By: rfka01

Re: MFA Microcomputer - 02/25/17 11:07 PM

Video/Keyboard interface V8.2

[Linked Image]

The terminal is addressed via the 8085's serial pins, SID and SOD.

MFA Video Keyboard interface 8.2
Posted By: rfka01

Re: MFA Microcomputer - 03/02/17 05:45 PM

Floppy controller and drive

[Linked Image]

There's a so-called "Mini-DOS" in the MAT32K ROM that's linked with the 64K RAM/ROM card.

You have to use the Monitor to go to ("G") 0x4200, from there you can format the disk, show its directory and load and save files. Not all programs that are built into the ROM can use the disk, but the Editor at 0x6800 can.

MFA - Floppy Controller 4.7B and drive
Posted By: rfka01

Re: MFA Microcomputer - 03/02/17 05:47 PM

Programmable parallel interface and Eprom programmer

The documentation lists the parallel interface (with printer port) and Eprom programmer together, so I'm following their example here.

[Linked Image]

MFA Programmable parallel interface 4.3B and Eprom programmer
Posted By: rfka01

Re: MFA Microcomputer - 03/02/17 05:53 PM

Programmable serial interface

[Linked Image]


MFA Programmable serial interface 4.4B
Posted By: Just Desserts

Re: MFA Microcomputer - 03/03/17 12:16 PM

Dude, I love seeing all these little modules and stuff! This is such a cool machine! smile
Posted By: Edstrom

Re: MFA Microcomputer - 03/03/17 02:23 PM

It really is!

The problem with educational computers is that the software are usually for the student to write so someone needs to type it in from the book I guess?

I have been trying to get the original cassettes from the Royal Library here in Stockholm for the E100 but it takes a lot of time to explain what I am going to do with it...
Posted By: rfka01

Re: MFA Microcomputer - 03/03/17 10:57 PM

@JD yeah, the system really invites you to try things. It's just the right mixture between serious laboratory equipment and homebrew breadboard.
I hope it translates well into MAME.

@Edstrom
There are programming examples in the manuals, but much of the charme of the machine comes from the joy to toggle the very haptic switches and watch the blinkenlights smile
Posted By: rfka01

Re: MFA Microcomputer - 03/03/17 11:34 PM

Update for the documentation - I've trimmed the scans to their actual size and included the doc for the Video/Keyboard interface 8.2 which is missing from the original archive.

MFA - Documentation update
Posted By: rfka01

Re: MFA Microcomputer - 03/05/17 11:20 AM

Video/Keyboard Interface 8.4

[Linked Image]

This makes the conversion to a CP/M machine easier, as it adds the emulation of a TVI 950 terminal.

Documentation thanks to Andreas who's also contributed to the M20 emulation.
Posted By: rfka01

Re: MFA Microcomputer - 03/05/17 12:58 PM

Andreas also sent an alternate version of the stuff I scanned from a book and documentation for modules I don't own:

MFA - Microcomputertechnik

MFA - Fachpraktische Uebungen (experimental assignments)

MFA - CP/M Manual

MFA - GAL programmer

MFA - NSC800 adapter

I'll post the archive and pics for the AD/DA converter card in the next days, but that's all I've got for now ... still hoping for the CP/M boot rom and boot disk to materialise.
Posted By: rfka01

Re: MFA Microcomputer - 03/05/17 01:08 PM

Here's a complete pinout of the bus, courtesy of p. 69 of "MFA - Microcomputertechnik" linked in the above post. Most of my errors were due to confusing the a and c row of the connector ... no problem in an emulator setting, but in the case of -12V vs. +12V possibly detrimental. blush If a mod can delete the first attempt at the bus signals, I'd be happy to see it go.

Code
        a        c
|-------------------------|
| +5V       1    +5V      |
|                         |
| CLKOUT/   2    S1/      |
|                         |
| ALE/      3    S0/      | 
|                         |
| D0        4    D1       | 
|                         |
| D2        5    D3       | 
|                         |
| D4        6    D5       | 
|                         | 
| D6        7    D7       |
|                         |
| HLDA/     8    INTA/    | 
|                         | 
| IOW/      9    MEMW/    |
|                         |
| IOR/     10    MEMR/    | 
|                         |
| ROM/     11    IN/      | 
|                         |
| RAM/     12    OUT/     |
|                         |
| TRAP     13    RESOUT/  | 
|                         | 
|          14             | 
|                         | 
|          15    A16      | 
|                         |
| A17      16    A00      | 
|                         | 
| A01      17    A02      | 
|                         |
| A03      18    A04      |
|                         |
| A05      19    A06      | 
|                         |
| A07      20    A08      |
|                         |
| A09      21    A10      | 
|                         |
| A11      22    A12      |
|                         |
| A13      23    A14      |
|                         |
| A15      24             |
|                         |
| RST7.5   25    INTR     |
|                         |
| READY    26    RST5.5   |
|                         |
| RESIN/   27    RST6.5   | 
|                         | 
| HOLD     28             | 
|                         | 
| PULSOUT  29    RX       | 
|                         | 
| PLS f. I.30    TX       | signal 30a: PULS F.INT.
|                         | 
| +12V     31    -12V     |
|                         |
| 0V       32    0V       | 
|-------------------------|
Posted By: rfka01

Re: MFA Microcomputer - 03/06/17 06:43 PM

16K RAM/ROM cards
I had already posted the 64K RAM/ROM cards with the extended MAT32K Monitor ... to be more precise it's the "T" version (Terminal via SID/SOD) I posted as opposed to the "S" version that works via an I/O connected serial terminal.

[Linked Image]

Those cards could either take RAM or EPROMs and appear at different memory regions. The archive contains the dumps of the eight 2716 EPROMs, so the three most common configurations of the MFA can be represented now: MAT85, MAT85+ and MAT32K

MFA - 16K RAM ROM 3.2B

A minimal system (not counting the ones where the user subs for the CPU) would have the MAT85 at 0x0000-0x1FFF and 2K RAM at 0xF800, then it's growing from both ends, adding MAT85+ gives us ROM from 0x0000 to 0x3FFF and RAM from the top down in 2K increments (on either 8K or 16K cards). The two cards represented in this thread appear to be typical for a MAT85+ configuration: 16K ROM at the bottom, 16K RAM at the top.
On a 64K card you have 32K ROM with MAT32K and 32K above that, CP/M needs a 2K boot EPROM (not sourced yet) and a full 64K of RAM.
Posted By: rfka01

Re: MFA Microcomputer - 03/07/17 10:51 PM

This is the last module for now: An analog/digital converter module

[Linked Image]

MFA - AD DA converter
Posted By: rfka01

Re: MFA Microcomputer - 04/23/17 06:26 PM

8K RAM - ROM

[Linked Image]

MFA - 8K RAM ROM

The archive contains as usual photos, documentation - and in this case the ROM dumps of the smallest available OS version, MAT85.
Posted By: rfka01

Re: MFA Microcomputer - 04/23/17 06:30 PM

Serial V24/RS232 interface

[Linked Image]

MFA - serial V24/RS232 4.10
Posted By: rfka01

Re: MFA Microcomputer - 04/23/17 06:49 PM

64K RAM/ROM update

[Linked Image]

MFA - 64K RAM ROM 3.3

This archive is massive, but it supersedes the earlier one as it contains additional documentation, both on the card and the MAT32K software.

I got a card that has the MAT32K-T version which sends its output over a serial interface to a PC running terminal software rather than using one of the video/keyboard interfaces.

Shamelessly adapting a driver(hi Robbbert!) makes MAME display the signon message of the "T" version on the internal terminal.

But I'm running into a snag here, and I'm way out of my depth to solve this:

I couldn't get the "S" version, which is pure ASCII via the 8085's SID and SOD pins to display anything on the terminal. The "T" version wants a TVI 955 terminal emulation, you can see the formatting code in the top left corner.

mfabfz.cpp
Posted By: Robbbert

Re: MFA Microcomputer - 04/24/17 12:13 AM

Originally Posted by rfka01


The provided key is invalid, according to mega. Unable to download.
Posted By: Lord Nightmare

Re: MFA Microcomputer - 04/24/17 02:31 AM

Originally Posted by Robbbert
Originally Posted by rfka01


The provided key is invalid, according to mega. Unable to download.

The download is fine, but there is/was a superfluous "<br>" at the end of the url; if that is removed, it works.

LN
Posted By: Robbbert

Re: MFA Microcomputer - 04/26/17 12:19 AM

Removed the <br> and it worked. Thanks!
Posted By: rfka01

Re: MFA Microcomputer - 09/28/17 12:07 PM

Robbbert, thanks for tackling the MFA ... I'll download the current source and build tonight!
Posted By: Robbbert

Re: MFA Microcomputer - 09/28/17 12:44 PM

To be honest, I had entirely forgotten about this.

I happened to notice a wayward source file on the hard drive, and that the rom listed therein was not in MAME. My database indicated I had the rom in my possession, so I decided to see about getting it running. I found some files of documentation which I suppose came from here. If I had remembered the existence of this thread I would have looked here too. That is all.
Posted By: rfka01

Re: MFA Microcomputer - 09/28/17 10:45 PM

I posted the source I had cobbled together in this thread rather than as a regular pull request because I'm not sure how the features of the extremely modular MFA would best be translated into MAME, let alone program them. Some of my thoughts and questions ...


- The terminal version MAT32K/T which currently produces a display in MAME is meant to communicate with a PC running Terminal software that emulates a TeleVideo 955 terminal and disk station. So, in an ideal state of emulation, should it show a terminal screen or require you to open a second instance of MAME running a PC?
- The regular ROM versions (8K MAT85, 16K MAT85+ aka MAT85K and SPS1 as well as MAT32K/S) expect one of the Video/Keyboard interfaces 8.2 or 8.4 and drives it via the SID/SOD lines of the 8085. From a logical point of view, I think it would make more sense to use MAME's internal terminal for those ROM versions, I just couldn't make them produce output.
- We'd need different starting configurations matching the ROM versions

I'll gladly help by scouring the documentation and translating if necessary smile
Posted By: Robbbert

Re: MFA Microcomputer - 09/28/17 11:54 PM

It would be nice if a computer could use any of the heaps of terminals already in MAME, but I'm pretty sure that it isn't yet possible to hook them together (or if it is, I don't know how). That is why I'm using the dumb terminal which, as it happens, doesn't understand escape codes.

I noticed yesterday that it isn't a good idea to try sharing the RS232 device between the uart and the sid/sod... so I need to put the sid/sod versions in a new clone. Still doesn't produce readable output but at least it isn't all spaces any more.


EDIT: the new sid/sod version is called mfabfz85 and the -bios 0 rom is working. At the moment -bios 1 produces no output.
Posted By: shattered

Re: MFA Microcomputer - 09/29/17 06:48 AM

At the moment only one terminal (ie15) can be directly attached to a rs232 port, but you probably won't like using it -- it emulates only a DEC VT52 (and needs to be set up for that first) and keyboard layout is not very friendly (defaults to all caps, shift key is locking, etc.). Try it anyway -- quick howto: http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=97739

Or, you can launch two MAME instances and make them talk over TCP socket, but it's not terribly user friendly either -- launch first one (with the computer) and keep info screen displayed, then launch second one, then continue first one...
Posted By: rfka01

Re: MFA Microcomputer - 09/29/17 10:59 AM

Quote
EDIT: the new sid/sod version is called mfabfz85 and the -bios 0 rom is working. At the moment -bios 1 produces no output.


On the first BIOS versions you needed to press SPACE to train the system to your keyboard's data rate, before you usually get garbage on the screen. Maybe that mechanism isn't working yet.
Posted By: rfka01

Re: MFA Microcomputer - 09/29/17 02:53 PM

Code
ROM_START( mfabfz )
	ROM_REGION( 0x8000, "roms", 0 ) // MAT32K, 1986, works
	ROM_SYSTEM_BIOS (0, "32k v1.8t", "MAT32K v1.8t" )
	ROMX_LOAD( "mfa_mat32k_vers.1.8-t_ic0.bin", 0x0000, 0x8000, CRC(6cba989e) SHA1(81611b6250a5319e5d28af5ce3a1e261af8315ae), ROM_BIOS(1) )
	ROM_SYSTEM_BIOS (1, "32k dtp", "MAT32K dtp" )
	ROMX_LOAD( "mfa_mat85_sp1_ed_kpl_dtp_terminal.bin", 0x0000, 0x8000, CRC(ed432c19) SHA1(31cbc06d276dbb201d50967f4ddba26a42560753), ROM_BIOS(2) )
ROM_END

ROM_START( mfabfz85 )
	ROM_REGION( 0x8000, "roms", 0 )
	ROM_SYSTEM_BIOS( 0, "32k", "MAT32K v1.8s" ) // 1982, not working
	ROMX_LOAD( "mfa_mat32k_vers.1.8-s_ic0.bin", 0x0000, 0x8000, CRC(021d7dff) SHA1(aa34b3a8bac52fc7746d35f5ffc6328734788cc2), ROM_BIOS(1) )
	ROM_SYSTEM_BIOS( 1, "8k", "MAT85 8k" ) // 1982, not working
	ROMX_LOAD( "mfa_mat_1_0000.bin", 0x0000, 0x0800, CRC(73b588ea) SHA1(2b9570fe44c3c19d6aa7c7c11ecf390fa5d48998), ROM_BIOS(2) )
	ROMX_LOAD( "mfa_mat_2_0800.bin", 0x0800, 0x0800, CRC(13f5be91) SHA1(2b9d64600679bab319a37381fc84e874c3b2a877), ROM_BIOS(2) )
	ROMX_LOAD( "mfa_mat_3_1000.bin", 0x1000, 0x0800, CRC(c9b91bb4) SHA1(ef829964f507b1f6bbcf3c557c274fe728636efe), ROM_BIOS(2) )
	ROMX_LOAD( "mfa_mat_4_1800.bin", 0x1800, 0x0800, CRC(649cd7f0) SHA1(e92f29c053234b36f22d525fe92e61bf24476f14), ROM_BIOS(2) )
	ROM_SYSTEM_BIOS( 2, "16k set1", "MAT85+ 16k set1" )
	ROMX_LOAD( "mfa_mat85_0x0000-0x07ff.bin", 0x0000, 0x0800, CRC(73b588ea) SHA1(2b9570fe44c3c19d6aa7c7c11ecf390fa5d48998), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x0800-0x0fff.bin", 0x0800, 0x0800, CRC(13f5be91) SHA1(2B9D64600679BAB319A37381FC84E874C3B2A877), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x1000-0x17ff.bin", 0x1000, 0x0800, CRC(c9b91bb4) SHA1(ef829964f507b1f6bbcf3c557c274fe728636efe), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x1800-0x1fff.bin", 0x1800, 0x0800, CRC(649CD7F0) SHA1(e92f29c053234b36f22d525fe92e61bf24476f14), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x2000-0x27ff.bin", 0x2000, 0x0800, CRC(d3592915) SHA1(68daec6c5c63692bc147b1710b9c45ca780f2c7b), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x2800-0x2fff.bin", 0x2800, 0x0800, CRC(9a6aafa9) SHA1(af897e91cc2ce5d6e49fa88c920ad85e1f0209bf), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x3000-0x37ff.bin", 0x3000, 0x0800, CRC(eae4e3d5) SHA1(f7112965874417bbfc4a32f31f84e1db83249ab7), ROM_BIOS(3) )
	ROMX_LOAD( "mfa_mat85_0x3800-0x3fff.bin", 0x3800, 0x0800, CRC(536db0e3) SHA1(328ccc18455f710390c29c0fd0f4b0713a4a69ae), ROM_BIOS(3) )
	ROM_SYSTEM_BIOS( 3, "16k set2", "MAT85+ 16k set2" )
	ROMX_LOAD( "mat85_1_1of8.bin", 0x0000, 0x0800, CRC(73b588ea) SHA1(2b9570fe44c3c19d6aa7c7c11ecf390fa5d48998), ROM_BIOS(4) )
	ROMX_LOAD( "mat85_2_2of8.bin", 0x0800, 0x0800, CRC(c97acc82) SHA1(eedb27c19a2d21b5ec5bca6cafeb25584e21e500), ROM_BIOS(4) )
	ROMX_LOAD( "mat85_3_3of8.bin", 0x1000, 0x0800, CRC(c9b91bb4) SHA1(ef829964f507b1f6bbcf3c557c274fe728636efe), ROM_BIOS(4) )
	ROMX_LOAD( "mat85_4_4of8.bin", 0x1800, 0x0800, CRC(649cd7f0) SHA1(e92f29c053234b36f22d525fe92e61bf24476f14), ROM_BIOS(4) )
	ROMX_LOAD( "soft_1_5of8.bin", 0x2000, 0x0800, CRC(98d9e86e) SHA1(af78b370fe97a6017b192dadec4059256ee4f4c7), ROM_BIOS(4) )
	ROMX_LOAD( "soft_2_6of8.bin", 0x2800, 0x0800, CRC(81fc3b24) SHA1(186dbd389fd700c5af1ef7c37948e11701ec596e), ROM_BIOS(4) )
	ROMX_LOAD( "soft_3_7of8.bin", 0x3000, 0x0800, CRC(eae4e3d5) SHA1(f7112965874417bbfc4a32f31f84e1db83249ab7), ROM_BIOS(4) )
	ROMX_LOAD( "soft_4_8of8.bin", 0x3800, 0x0800, CRC(536db0e3) SHA1(328ccc18455f710390c29c0fd0f4b0713a4a69ae), ROM_BIOS(4) )
ROM_END


"Some" ROM additions and name clarifications to copy over for you eek

The "32k dtp" ROM has "terminal" in its name but doesn't display anything right now ... looks like on this system, the serial port of the CPU card (SID/SOD) was brought out directly and the terminal run off it rather than piping the data through the video interfaces.

ROMs are on the FTP and here

https://mega.nz/#!DAoSAYLT!WUq2wYF0YKQkM-RWPi3G1clEEbRuwj_05vTlCbU7vA8
Posted By: Robbbert

Re: MFA Microcomputer - 09/30/17 12:05 AM

I'll add those, but I don't think the bios short name can have spaces.
Posted By: rfka01

Re: MFA Microcomputer - 09/30/17 07:12 AM

Yes, MAME was angry at me for those spaces, but I didn't see those error messages after I hadn't posted here ... I mostly wanted to save you the trouble of CRC'ing so many tiny ROMs.
Posted By: Robbbert

Re: MFA Microcomputer - 09/30/17 03:24 PM

I've added them, except I moved the "32k dtp" to mfabfz85, which is used for all the sid/sod sets. mfabfz is only for sets using the uart.

Also, systems that attempt to divine the baud rate by timing the input will fail, as that idea doesn't work in MAME.
Posted By: Olivier Galibert

Re: MFA Microcomputer - 10/02/17 06:46 AM

Originally Posted by Robbbert
I've added them, except I moved the "32k dtp" to mfabfz85, which is used for all the sid/sod sets. mfabfz is only for sets using the uart.

Also, systems that attempt to divine the baud rate by timing the input will fail, as that idea doesn't work in MAME.


Depends, some of the serial emulations (h8 for instance) use real signals with real timings, so it would work there.
Posted By: AJR

Re: MFA Microcomputer - 10/15/17 07:51 PM

Originally Posted by Robbbert
Also, systems that attempt to divine the baud rate by timing the input will fail, as that idea doesn't work in MAME.


Baud rate divination works on the CCS Model 2810, as of my latest work on that system. (Since its CPU is a Z80, it polls the 8250's "ring indicator" input rather than SID.) My early efforts towards a proper serial hookup had failed dismally because emulation hadn't been accounting for the addition of one wait state per ROM access. Does the MfA also have a wait state generator?
Posted By: rfka01

Re: MFA Microcomputer - 10/15/17 08:14 PM

@AJR, how would I find out?
Posted By: AJR

Re: MFA Microcomputer - 10/15/17 08:26 PM

The way to find out would be to analyze the circuitry driving the 8085's READY line (pin 35). However, wait state generation logic tends to get rather complicated, and is not so easy to interpret even when schematics are available.
Posted By: rfka01

Re: MFA Microcomputer - 10/15/17 08:33 PM

Have a look at page 1 and 2 of this thread ... there are the CPU, 64K and Video/Keyboard 8.2 modules ... this combination does the "divining".

There's a firmware listing of the first 8K here

ftp://ftp.informatik.uni-stuttgart.de/pub/cm/mfa8085/MFA.pdf
Posted By: AJR

Re: MFA Microcomputer - 11/03/17 02:48 PM

I was finally able to get mfabfz85 -bios 1 working, but with some rather drastic modifications which entailed splitting it off to a new configuration with a 5 MHz CPU and each M1 cycle lengthened by 1 (faked) wait state (which in turn required updating the CPU core to use AS_OPCODES). This seems barely within the bounds of plausibility, but otherwise the number of cycles between SOD updates doesn't result in any plausible baud rate (which appears to be hardcoded in this version).
Posted By: rfka01

Re: MFA Microcomputer - 11/04/17 04:04 PM

Looking forward to seeing how that looks in the source!
Posted By: rfka01

Re: MFA Microcomputer - 08/27/18 09:34 PM

Originally Posted by Lord Nightmare
Which mask of the 2513? There were several made, the original apple1 uses a 'common' one (2513-COM?) but afaik the apple2 versions had a few custom characters?

LN


I have now dumped the 2513 used in the MFA's v8.2 video interface, and it is indeed identical to the one used in the Apple 1's driver.
Posted By: R. Belmont

Re: MFA Microcomputer - 08/27/18 11:46 PM

Thanks rfka01!
Posted By: Lord Nightmare

Re: MFA Microcomputer - 08/28/18 12:50 AM

What label does that 2513 have, btw? can you take a picture of that chip specifically? (I'd like to see the silkscreen markings on the chip, if possible)

EDIT: nevermind, based on the filename, it is the 'common' part, RO-3-2513 CGR-001 (though the filename calls it gcr-001, I assume this is a typo)

LN
Posted By: rfka01

Re: MFA Microcomputer - 08/28/18 06:26 AM

Yes, sorry for the typo. You can see the part with its silkscreening in the post about the 8.2 video card that has a link to the higher res pictures.
Posted By: rfka01

Re: MFA Microcomputer - 11/10/18 02:35 PM

The WD1793 floppy controller is at 0xC0H and controls a 3.5" 40track 8 sec/track 512 bytes/sector drive ... it would be great if a kind soul could add that ...

http://oldcomputers-ddns.org/public...ve/mfa_-_floppy_disk(seiten_einzeln).pdf

0xC0H is the control/status port, 0xC1H is the track register, 0xC2H the sector register and 0xC3H the data register. 0xC8H halts the CPU to give the floppy time to shove its data in and RST5.5 signals the CPU the FDC is ready for the next command.

For the moment, the 64K configuration of the MFA is emulated in MAME with a neat cut at 8000H, below is ROM, above RAM.
With some solder strapping, the cards can also be populated with 64K RAM and a 2K boot EPROM that contains some startup code and the CP/M BIOS. After copying the BIOS to RAM at F200, jumping to that location causes the ROM to be banked out. It's a one-way process, bringing the ROM back in requires a reset.

Is there a driver that does bank switching like this? I'd love to take a look ...
Posted By: Lord Nightmare

Re: MFA Microcomputer - 11/11/18 06:28 AM

Yes, the some of the mac 68k drivers do a bank-out of the rom data on boot using a 'overlay control' bit connected to one of the VIAs; the rom actually remains in the map, but before the 'overlay disable' bit gets toggled, the rom appears at the boot vector area 0x000000-0x1ffffff(???), and toggling that bit makes it map only at 0x400000-0x5fffff or so.
Posted By: rfka01

Re: MFA Microcomputer - 11/11/18 11:36 AM

Thanks LN, I'm trying to chew my way through mac128.cpp ... I had hoped for a simpler example as the MFA is only a lowly 8085 wink

Basically the driver needs to find out when the 8085's PC hits 0xF200H.
Posted By: Just Desserts

Re: MFA Microcomputer - 11/11/18 12:08 PM

Originally Posted by rfka01
Basically the driver needs to find out when the 8085's PC hits 0xF200H.


No, it needs to find out when there is a fetch from F200H... smile
Posted By: rfka01

Re: MFA Microcomputer - 11/11/18 12:31 PM

Quote
No, it needs to find out when there is a fetch from F200H... smile


Yeah, that's more correct. The MFA's CP/M manual says

"The boot program copies the BIOS part of the EPROMs to RAM starting at F200. The CPU branches to F200 and reads a command there. By this read operation (not by the command read as such) the Boot-EPROM is switched off and the RAM from 0000 to 07FF that was not usable until now is banked in."
Posted By: Just Desserts

Re: MFA Microcomputer - 11/11/18 12:44 PM

So, you would just have a read handler at F200 which both returns the byte of RAM that's there, and performs the bank-out operation if it hasn't been banked out yet.

Then from 0000-07FF in the memory map, you would have a bank device mapped, which in its internal map has ROM from 0000-07FF and RAM from 0800-0FFF, and a bank stride of 0800H. On startup you set its bank index to 0, and to bank out the ROM, you set its bank index to 1 and store a value to a member indicating that it has been banked out, so you don't attempt to bank it out again.

Look at src/mame/drivers/vii.cpp or src/mame/drivers/clcd.cpp for examples on how to use a bankdev.
Posted By: rfka01

Re: MFA Microcomputer - 11/11/18 10:07 PM

Having some terminology problems ...

From vii.cpp:

Code
map(0x1000000, 0x13fffff).r(FUNC(vsmile_state::bank0_r))


the read handler would be "bank0_r" in this example?
Posted By: Just Desserts

Re: MFA Microcomputer - 11/11/18 11:15 PM

No, you would do it like this: https://gist.github.com/MooglyGuy/0c7096a78d87947a184b3c4be7d85e4e

I haven't tested it other than to make sure it compiles, and I might have derived the machine config from the wrong machine - I wasn't sure whether to derive it from the '85 or not - but in theory all you should need to do is plug in the ROM definition.
Posted By: rfka01

Re: MFA Microcomputer - 11/12/18 11:50 AM

Looking forward to trying that tonight ... thanks a lot!
Posted By: rfka01

Re: MFA Microcomputer - 02/14/19 09:14 AM

Mike Douglas from http://deramp.com/ is quite the wizard: Without having ever seen the MFA computer, he created a publicly available version of CP/M for the machine. During much of January we exchanged a lot of emails and debugged over the phone, but there is now a monitor ROM and CP/M disk image available at http://deramp.com/downloads/mfa_computer/ which I've also uploaded to the FTP. The availability of the CP/M BIOS should provide enough technical information about the configuration of the EPROM/RAM, serial, parallel and floppy modules.
While this is an "aftermarket" effort, it will allow the official MFA CP/M system to slip right in when it becomes available.
© 2019 Forums